<?php
/**
 * @Author: Marte
 * @Date:   2018-03-16 10:50:03
 * @Last Modified by:   Marte
 * @Last Modified time: 2018-03-16 16:49:20
 */
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class UserController extends Controller{

    public function userinfo(){
        // return 'userinfo';
        // 使用DB原始查找，引用use Illuminate\Support\Facades\DB;
        // 查询
        // $userdata = DB::select('select * from user where id>?',[1]);
        // dd($userdata);//打印


        // 新增，返回BOOL值
        // $bool = DB::insert('insert into user(username,password,tel) values(?,?,?)',['yilong',123456,15507731938]);

        // 修改：返回行数
        // $num = DB::update('update user set ctime = ? where id = ?',[time(),2]);//返回修改的行数

        // 删除：返回影响行数
        // $numd = DB::delete('delete from user where id=?',[1]);
        // echo $numd;

    }

    public function query(){
        // 数据库操作之查询构造器
        // 简介：提供方便有效的接口，用来建立及执行数据库查询语法，使用pdo参数绑定，防sql注入，传入参数不需转义字符
        // return 'query';

        // 新增
        // $bool = DB::table('user')->insert(['username'=>'admin','password'=>123456,'tel'=>15507731111]);
        // var_dump($bool);
        //
        // 获取新增数据自增长的id
        // $id = DB::table('user')->insertGetId(['username'=>'aaa','password'=>123,'tel'=>15550801280,'ctime'=>time()]);
        // echo $id;
        //
        // 新增多条数据，二维数组。
        // $bool = DB::table('user')->insert([
        //     ['username'=>'aaa','password'=>123,'tel'=>15550801280,'ctime'=>time()],
        //     ['username'=>'aaa','password'=>123,'tel'=>15550801280,'ctime'=>time()],
        //     ['username'=>'aaa','password'=>123,'tel'=>15550801280,'ctime'=>time()]
        // ]);
        // var_dump($bool);

        // 修改
        // $num = DB::table('user')->where('id',4)->update(['username'=>'bbb']);
        // echo $num;
        //
        // 自增、减
        // $num = DB::table('user')->increment('ctime',5,['username'=>'abc','tel'=>100]);//不写第二个参数默认自增1,第三个参数数组为批量修改
        // $num = DB::table('user')->where('id',4)->decrement('ctime',0,['username'=>'abcdeaa','tel'=>60]);//不写第二个参数默认自增1,第三个参数数组为批量修改
        // echo $num;



        // 删除
        // $num = DB::table('users')->where('id', '>', 10)->delete();
        // $num = DB::table('user')->where('id', 4)->delete();
        // echo $num;
        // // 清除整张表，并将自增ID置为0
        // DB::table('user')->truncate();//不返回任何东西
        //
        // 查询数据
        //
        // get():获取表的所有获取
        // $user_data = DB::table('user')->get();
        //
        // first():获取结果集的第一条数据
        // $user_data = DB::table('user')->first();
        // $user_data = DB::table('user')->orderBy('id','desc')->first();
        // dd($user_data);
        //
        // where():条件，多条件查询
        // $user_data = DB::table('user')->where('id','>=',2)->get();
        // $user_data = DB::table('user')->whereRaw('id>=? and tel>=?',[2,30])->get();//多条件
        // dd($user_data);
        //
        // pluck():筛选字段查询，并指定下标
        // $user_data = DB::table('user')->where('id','>=',2)->pluck('username','id');//5.3以后移除了lists方法，用pluck()代替
        // dd($user_data);
        // echo $user_data[0];
        //
        // select():指定字段查询，不想查询全部字段
        // $user_data = DB::table('user')->select('id','username','tel')->get();
        // dd($user_data);
        //
        // chunk():查询的数据太多时，进行分段获取,第一个参数：每次处理多少条数据
        // echo "<pre>";
        // DB::table('user')->orderBy('id')->chunk(1,function($user_data){
        //     print_r($user_data);
        //     if('当条件成立时'){
                //  return false;//终止查询

                // }
        // });
        //
        // 聚合函数：count, max, min, avg 和 sum，你可以在构造查询之后调用这些方法
        // $users = DB::table('users')->count();




        // 问题:Eloquent ORM,（TestormController.php）
        //      模型的建立及查询数据
        //      新增数据、自定义时间戳、批量赋值
        //
        //      使用Eloquent ORM 修改数据
        //

    }
}